/**
 * 求hours内和是24的倍数的有序对
 * 令vec[i]记录hous中对24取余数为i的数量
 * 则根据vec的值可以计算出结果
 */
class Solution {
public:
    long long countCompleteDayPairs(vector<int>& hours) {
        vector<long long int> vec(24, 0);
        for(auto i : hours){
            vec[i % 24] += 1;
        }        
        long long ans = 0;
        for(int i=1;i<12;++i){
            ans = ans + vec[i] * vec[24 - i];
        }
        if(vec[0] >= 2) ans = ans + (vec[0] - 1) * vec[0] / 2;
        if(vec[12] >= 0) ans = ans + (vec[12] - 1) *vec[12] / 2;
        return ans;
    }
};